home *** CD-ROM | disk | FTP | other *** search
- //-----------------------------------------------------------------------------
- // File: Moire.h
- //
- // Desc:
- //
- // Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- #ifndef _MOIRE_H
- #define _MOIRE_H
-
- #define MAX_DEVICE_OBJECTS 10
-
- struct DeviceObjects
- {
- CD3DFont* m_pStatsFont;
- LPDIRECT3DVERTEXBUFFER8 m_pVBArray[3];
- LPDIRECT3DTEXTURE8 m_pTexArray[4];
- };
-
-
- class CMoireScreensaver : public CD3DScreensaver
- {
- protected:
- DeviceObjects m_DeviceObjectsArray[MAX_DEVICE_OBJECTS];
- DeviceObjects* m_pDeviceObjects;
-
- DWORD m_dwNumVerticesArray[3];
-
- DWORD m_dwMeshInterval;
- INT m_iMesh;
- INT m_iMeshPrev;
- FLOAT m_fTimeNextMeshChange;
- FLOAT m_fTimeStartMeshChange;
-
- DWORD m_dwTextureInterval;
- INT m_iTexture;
- INT m_iTexturePrev;
- FLOAT m_fTimeNextTextureChange;
- FLOAT m_fTimeStartTextureChange;
-
- DWORD m_dwColorInterval;
- INT m_iColorScheme;
- INT m_iColorSchemePrev;
- FLOAT m_fTimeNextColorChange;
- FLOAT m_fTimeStartColorChange;
- BOOL m_bBrightColors;
-
- FLOAT m_fScale1, m_fScale2;
- FLOAT m_fRot1, m_fRot2;
-
- D3DXCOLOR m_col1;
- D3DXCOLOR m_col2;
- D3DXCOLOR m_col3;
-
- FLOAT m_fSpeed;
-
- protected:
- virtual VOID DoConfig();
- virtual VOID ReadSettings();
-
- virtual VOID SetDevice( UINT iDevice );
- virtual HRESULT Render();
- virtual HRESULT FrameMove();
- virtual HRESULT RestoreDeviceObjects();
- virtual HRESULT InvalidateDeviceObjects();
-
- VOID Randomize( INT* piNum, INT iMax );
- HRESULT BuildTextures();
- HRESULT BuildMeshes();
- HRESULT LoadDDSTextureFromResource( LPDIRECT3DDEVICE8 pd3dDevice,
- TCHAR* strRes, LPDIRECT3DTEXTURE8* ppTex );
- VOID GenerateColors( INT iColorScheme, BOOL bBright,
- D3DXCOLOR* pcol1, D3DXCOLOR* pcol2, D3DXCOLOR* pcol3 );
- HRESULT ReadRegistry();
- HRESULT WriteRegistry();
-
-
- public:
- CMoireScreensaver();
-
- // Override from CD3DScreensaver
- INT_PTR CALLBACK ConfigureDialogProc( HWND hwndDlg, UINT uMsg,
- WPARAM wParam, LPARAM lParam );
- };
-
- #endif
-